//
//  BEKeyChain.h
//  PushTest
//
//  Created by benz on 14-3-14.
//
//

#import <Security/Security.h>

@interface BEKeyChain : NSObject

/**
 *  新建一个keychain
 *
 *  @param value      新建的值
 *  @param identifier 新建的标识符
 *
 *  @return YES：成功；NO：失败
 */
+ (BOOL)createKeychainValue:(NSString *)value forIdentifier:(NSString *)identifier;
+ (BOOL)createKeychainObject:(id)value forIdentifier:(NSString *)identifier;

/**
 *  查找与identifier匹配的keychain对象
 *
 *  @param identifier 查找匹配的标识符
 *
 *  @return 与identifier对应的keychain对象，不存在时返回nil
 */
+ (NSData *)searchKeychainCopyMatching:(NSString *)identifier;

/**
 *  更新identifier对应的keychain对象的值
 *
 *  @param value      新值
 *  @param identifier 要更新的标识符
 *
 *  @return YES：成功；NO：失败
 */
+ (BOOL)updateKeychainValue:(NSString *)value forIdentifier:(NSString *)identifier;

+ (BOOL)updateKeychainObject:(id)value forIdentifier:(NSString *)identifier;

/**
 *  删除keychain
 *
 *  @param identifier 要删除的标识符
 *
 *  @return YES：成功；NO：失败
 */
+ (BOOL)deleteKeychainValueByIdentifier:(NSString *)identifier;

@end
